pgmres_solver Interface

public interface pgmres_solver

Module Procedures

private pure function csr_pgmres_solver(a, lu, ju, b, im, tol, maxits, iout) result(x)

Solves a linear system using the PGMRES method.

Arguments

Type IntentOptional Attributes Name
class(csr_matrix), intent(in) :: a

The matrix.

class(msr_matrix), intent(in) :: lu

The LU factored matrix.

integer(kind=int32), intent(in), dimension(:) :: ju

The row tracking array.

real(kind=real64), intent(in), dimension(:) :: b

The right-hand side.

integer(kind=int32), intent(in), optional :: im

The Krylov subspace size.

real(kind=real64), intent(in), optional :: tol

The convergence tolerance.

integer(kind=int32), intent(in), optional :: maxits

The maximum number of iterations.

integer(kind=int32), intent(in), optional :: iout

The output level.

Return Value real(kind=real64), allocatable, dimension(:)

The solution.